package com.example.mydemo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mydemo.entity.Clock;
import com.example.mydemo.entity.domain.AttendanceStatDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
@Mapper
public interface AttendanceMapper extends BaseMapper<AttendanceStatDTO> {
    // 3. 查询正常人数（上班≤9:00且下班≥18:00，且状态=1）
    List<AttendanceStatDTO> countNormal(@Param("days") int days, @Param("monthStart") Date monthStart, @Param("monthEnd") Date monthEnd);

    // 4. 查询打卡总人数（该月有至少一次有效打卡）
    Integer countTotal(@Param("deptId") Long deptId, @Param("monthStart") Date monthStart, @Param("monthEnd") Date monthEnd);

    // 5. 查询部门下所有员工ID（用于计算异常人数：总员工 - 打卡总人数）
    List<Long> listDeptEmployees(@Param("deptId") Long deptId);
    List<AttendanceStatDTO> count(@Param("monthStart") Date monthStart, @Param("monthEnd") Date monthEnd);
    void batchInsertOrUpdate(@Param("list")List<AttendanceStatDTO> list);
}
